import Vue from 'vue';
import App from './App';
import store from './store';
import MinCache from './common/util/MinCache.js';
import tip from './common/util/tip.js';
import configService from './common/service/config.service.js';

import router from './common/router';
import { RouterMount } from './plugin/uni-simple-router/index.js';

//引入mescroll插件
import MescrollBody from '@/components/mescroll-uni/mescroll-body.vue';
import MescrollUni from '@/components/mescroll-uni/mescroll-uni.vue';
Vue.component('mescroll-body', MescrollBody);
Vue.component('mescroll-uni', MescrollUni);

// 注册缓存器
Vue.use(MinCache, { timeout: 6 });

// store
Vue.prototype.$store = store;

function getQueryParamsWithURL() {
	let hash = window.location.hash; // 获取整个哈希部分，包括 '#'
	if (hash.startsWith('#')) {
	  // 移除开头的 '#' 号
	  hash = hash.substring(1);
	}
	const queryString = hash.split('?')[1]
	const urlParams = {};
	if (queryString) {
		queryString.split('&').forEach(param => {
		  const [key, value] = param.split('=');
		  if (key) {
			urlParams[key] = decodeURIComponent(value);
		  }

		});
	  }
	return urlParams;
  }
	let paramsGroup = getQueryParamsWithURL()

  if (Object.keys(paramsGroup).length > 0) {
    uni.setStorageSync('partySignEvent',paramsGroup);
  }


// tip
Vue.prototype.$tip = tip;
// config
Vue.prototype.$config = configService;

// request请求
import { http } from '@/common/service/service.js';
Vue.prototype.$http = http;

import home from './pages/home/home.vue';
Vue.component('home', home);
import demand from './pages/component/demand.vue';
Vue.component('demand', demand);

import profile from './pages/profile/profile.vue'
Vue.component('profile', profile);

import downDetail from './pages/component/downDetail'
Vue.component('downDetail', downDetail);

import people from './pages/user/people.vue';
Vue.component('people', people);

import taskDetails from './pages/component/taskDetails'
Vue.component('taskDetails', taskDetails);

// 自定义组件
import mySelect from './components/my-componets/my-select.vue';
Vue.component('mySelect', mySelect);

import myImageUpload from './components/my-componets/my-image-upload.vue';
Vue.component('myImageUpload', myImageUpload);

import myPage from './components/my-componets/my-page.vue';
Vue.component('myPage', myPage);

import basics from './pages/basics/home.vue';
Vue.component('basics', basics);

import components from './pages/component/home.vue';
Vue.component('components', components);

import plugin from './pages/plugin/home.vue';
Vue.component('plugin', plugin);

import cuCustom from './plugin/colorui/components/cu-custom.vue';
Vue.component('cu-custom', cuCustom);

// import VConsole from './js_sdk/vconsole.min'
//   var vConsole = new VConsole();

Vue.config.productionTip = false;

App.mpType = 'app';

const app = new Vue({
  store,
  MinCache,
  ...App,
});
//v1.3.5起 H5端 你应该去除原有的app.$mount();使用路由自带的渲染方式
// #ifdef H5
RouterMount(app, '#app');
// #endif

// #ifndef H5
app.$mount(); //为了兼容小程序及app端必须这样写才有效果
// #endif
